Explain why we need a `Vec<Dependency>` in `Resolve`.
authorAleksey Kladov <aleksey.kladov@gmail.com>
Wed, 2 May 2018 15:13:03 +0000 (18:13 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Wed, 2 May 2018 15:14:50 +0000 (18:14 +0300)
src/cargo/core/resolver/resolve.rs

index db4a5b5ee4b4be9bdad7c4a05c1b085d9019bd07..728f693bf2a685fd3eee972f9a0fa26c2d1674a2 100644 (file)
@@ -18,6 +18,9 @@ use super::encode::Metadata;
 /// for each package.
 #[derive(PartialEq)]
 pub struct Resolve {
+    /// A graph, whose vertices are packages and edges are dependency specifications
+    /// from Cargo.toml. We need a `Vec` here because the same package
+    /// might be present in both `[dependencies]` and `[build-dependencies]`.
     graph: Graph<PackageId, Vec<Dependency>>,
     replacements: HashMap<PackageId, PackageId>,
     reverse_replacements: HashMap<PackageId, PackageId>,